<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org/">
<head>
    <title>Title</title>
    <link rel="stylesheet" th:href="@{/static/layui/css/layui.css}">
    <script th:src="@{/static/jquery-2.1.4.js}" type="text/javascript" charset="utf-8"></script>
    <script th:src="@{/static/layui/layui.js}" type="text/javascript" charset="utf-8"></script>
    <script th:src="@{/static/mylayer.js}" type="text/javascript" charset="utf-8"></script>
    <script th:src="@{/static/kindeditor/kindeditor.js}" type="text/javascript" charset="utf-8"></script>
</head>
<body>
    <!--添加form表单-->

    <form class="layui-form" action="" lay-filter="updateFormFilter">
        <br>
        <input type="hidden" id="id" name="id">
        <div class="layui-form-item">
            <label class="layui-form-label">一级分类</label>
            <div class="layui-input-inline">
                <select id="topCategotry" lay-filter="topCategotry" name="parentId">
                    <option value="">请选择</option>
                </select>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">商品名称</label>
            <div class="layui-input-inline layui-input-wrap">
                <input type="text" id="name" name="name" lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">商品图片</label>
            <div class="layui-input-block">
                <div class="layui-upload">
                    <div class="layui-upload-list">
                        <img width="150px" height="150px" class="layui-upload-img" id="demo1">
                        <input type="hidden" name="image" id="imageId">
                        <p id="demoText"></p>
                    </div>
                    <button type="button" class="layui-btn" id="uploadId">上传图片</button>
                </div>
            </div>
        </div>

        <div class="layui-form-item">
            <div class="layui-input-block">
                <button type="submit" class="layui-btn" lay-submit lay-filter="submitUpdate">立即提交</button>
                <button type="reset" class="layui-btn layui-btn-primary">重置</button>
            </div>
        </div>
    </form>
    <script>
        layui.use(['form','upload'], function(){
            var form = layui.form;
            var upload = layui.upload;

            var queryString = window.location.search;
            var urlParams = new URLSearchParams(queryString);
            var id = urlParams.get("id");

            $.post(
                '/category/listAll',
                function (result) {
                    console.log(result);
                    if (result.code == 0) {
                        $(result.data).each(function () {
                            $('#topCategotry').append('<option value="'+this.id+'">'+this.name+'</option>');
                        })
                        form.render('select');
                        loadProductDetails();
                    }
                },
                'json'
            );

            function loadProductDetails() {
                $.post(
                    '/category/selectById',
                    {'id': id},
                    function(result) {
                        if (result.code == 0) {
                            $('#id').val(result.data.id);
                            $('#name').val(result.data.name);
                            $('#topCategotry').val(result.data.parentId); // 设置选择框的值
                            $('#imageId').val(result.data.image);
                            $('#demo1').attr('src', result.data.image);
                            form.render('select'); // 重新渲染选择框，这是关键步骤

                            // 检查parentId是否为0，如果是，则隐藏一级分类的div
                            if (result.data.parentId === 0) {
                                $('.layui-form-item').first().hide(); // 假设一级分类的div是第一个layui-form-item
                            }
                        }
                    },
                    'json'
                );
            }



            //常规使用 - 普通图片上传
            var uploadInst = upload.render({
                elem: '#uploadId'
                , url: '/upload' //此处用的是第三方的 http 请求演示，实际使用时改成您自己的上传接口即可。
                , before: function (obj) {
                    //预读本地文件示例，不支持ie8
                    obj.preview(function (index, file, result) {
                        $('#demo1').attr('src', result); //图片链接（base64）
                    });
                }
                , done: function (result) {
                    if (result.code == 0) {
                        $('#imageId').val(result.data);
                        $('#demoText').html(''); //置空上传失败的状态
                    } else {
                        mylayer.errorMsg(result.msg);
                    }
                }
                , error: function () {
                    //演示失败状态，并实现重传
                    var demoText = $('#demoText');
                    demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
                    demoText.find('.demo-reload').on('click', function () {
                        uploadInst.upload();
                    });
                }
            });
            form.on('submit(submitUpdate)',function (data) {
                var field = data.field;
                console.log(data);
                $.post(
                    '/category/update',
                    field,
                    function (result) {
                        console.log(result);
                        if (result.code == 0) {
                            mylayer.okMsg(result.msg);
                            // layer.close(index);
                            // table.reload('tableId');
                            setInterval(function() {
                                //关闭弹出框
                                var index = parent.layer.getFrameIndex(window.name);
                                parent.layer.close(index);
                                //刷新父页面
                                window.parent.location.reload();
                            }, 2000)
                        } else {
                            mylayer.errorMsg(result.msg);
                        }
                    },
                    'json'
                );
                return false;
            });
        });

    </script>
</body>
</html>
